package com.cqeec.gams.service;

import java.util.List;

import com.cqeec.gams.entity.Account;
import com.cqeec.gams.model.Function;


public interface AccountService {
	/**
	 * 用户登录。
	 * 
	 * @param name     用户名，可以是姓名或昵称。
	 * @param password 用户密码。
	 * @return 登录成功返回登录的用户信息，否则返回null。
	 */
	public Account login(String name, String password);

	/**
	 * 根据用户标识和密码检测用户密码是否正确。
	 * 
	 * @param id       用户标识。
	 * @param password 密码。
	 * @return 密码正确返回true，密码错误返回false。
	 */
	public boolean checkPassword(String id, String password);

	/**
	 * 根据用户标识修改密码。
	 * 
	 * @param id       用户标识。
	 * @param password 密码。
	 */
	public void updatePassword(String id, String password);

	/**
	 * 根据用户标识获取用户的功能模块。
	 * 
	 * @param id 用户标识。
	 * @return 用户的功能模块。
	 */
	public List<Function> getUserFunction(String id);
	
	/**
	 * 获取系统所有的功能模块。
	 * 
	 * @return 系统所有的功能模块。
	 */
	public List<Function> getAllFunction();
}